#ifndef _ANIMATION_MANAGER_H
#define _ANIMATION_MANAGER_H

#include <vector>
#include "Animation.h"

class AnimationManager
{
public:
	AnimationManager(void);
	~AnimationManager(void);

	void update();

	void setAnimation(const std::string& id);
	void deactivate();

	int getCurrentFrame();
	int getCurrentRow();
	const std::string& getCurrentID();

	void setReverse(bool value);
	void flipReverse();

	void setPause(bool value);
	void setDone(bool value);

	bool isDone();
	bool isReverse();
	void reset();

	void addAnimation(Animation* animation);

	void cleanup();

private:
	std::vector<Animation*> _animations;
	Animation* _currentAnimation;
};

#endif // _ANIMATION_MANAGER_H

